//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.itheima.pinda.authority.dto.auth;

import com.itheima.pinda.authority.enumeration.auth.Sex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotEmpty;
import org.hibernate.validator.constraints.Length;

@ApiModel(
        value = "UserSaveDTO",
        description = "用户"
)
public class UserSaveDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("主键")
    private Long id;
    @ApiModelProperty("账号")
    @NotEmpty(
            message = "账号不能为空"
    )
    @Length(
            max = 30,
            message = "账号长度不能超过30"
    )
    private String account;
    @ApiModelProperty("姓名")
    @NotEmpty(
            message = "姓名不能为空"
    )
    @Length(
            max = 50,
            message = "姓名长度不能超过50"
    )
    private String name;
    @ApiModelProperty("组织ID")
    private Long orgId;
    @ApiModelProperty("岗位ID")
    private Long stationId;
    @ApiModelProperty("邮箱")
    @Length(
            max = 255,
            message = "邮箱长度不能超过255"
    )
    private String email;
    @ApiModelProperty("手机")
    @Length(
            max = 20,
            message = "手机长度不能超过20"
    )
    private String mobile;
    @ApiModelProperty("性别")
    private Sex sex;
    @ApiModelProperty("启用状态 1启用 0禁用")
    private Boolean status;
    @ApiModelProperty("头像")
    @Length(
            max = 255,
            message = "头像长度不能超过255"
    )
    private String avatar;
    @ApiModelProperty("工作描述")
    @Length(
            max = 255,
            message = "工作描述长度不能超过255"
    )
    private String workDescribe;
    @ApiModelProperty("密码")
    @NotEmpty(
            message = "密码不能为空"
    )
    @Length(
            max = 64,
            message = "密码长度不能超过64"
    )
    private String password;

    public static UserSaveDTO.UserSaveDTOBuilder builder() {
        return new UserSaveDTO.UserSaveDTOBuilder();
    }

    public Long getId() {
        return this.id;
    }

    public String getAccount() {
        return this.account;
    }

    public String getName() {
        return this.name;
    }

    public Long getOrgId() {
        return this.orgId;
    }

    public Long getStationId() {
        return this.stationId;
    }

    public String getEmail() {
        return this.email;
    }

    public String getMobile() {
        return this.mobile;
    }

    public Sex getSex() {
        return this.sex;
    }

    public Boolean getStatus() {
        return this.status;
    }

    public String getAvatar() {
        return this.avatar;
    }

    public String getWorkDescribe() {
        return this.workDescribe;
    }

    public String getPassword() {
        return this.password;
    }

    public UserSaveDTO setId(final Long id) {
        this.id = id;
        return this;
    }

    public UserSaveDTO setAccount(final String account) {
        this.account = account;
        return this;
    }

    public UserSaveDTO setName(final String name) {
        this.name = name;
        return this;
    }

    public UserSaveDTO setOrgId(final Long orgId) {
        this.orgId = orgId;
        return this;
    }

    public UserSaveDTO setStationId(final Long stationId) {
        this.stationId = stationId;
        return this;
    }

    public UserSaveDTO setEmail(final String email) {
        this.email = email;
        return this;
    }

    public UserSaveDTO setMobile(final String mobile) {
        this.mobile = mobile;
        return this;
    }

    public UserSaveDTO setSex(final Sex sex) {
        this.sex = sex;
        return this;
    }

    public UserSaveDTO setStatus(final Boolean status) {
        this.status = status;
        return this;
    }

    public UserSaveDTO setAvatar(final String avatar) {
        this.avatar = avatar;
        return this;
    }

    public UserSaveDTO setWorkDescribe(final String workDescribe) {
        this.workDescribe = workDescribe;
        return this;
    }

    public UserSaveDTO setPassword(final String password) {
        this.password = password;
        return this;
    }

    public UserSaveDTO() {
    }

    public UserSaveDTO(final Long id, final String account, final String name, final Long orgId, final Long stationId, final String email, final String mobile, final Sex sex, final Boolean status, final String avatar, final String workDescribe, final String password) {
        this.id = id;
        this.account = account;
        this.name = name;
        this.orgId = orgId;
        this.stationId = stationId;
        this.email = email;
        this.mobile = mobile;
        this.sex = sex;
        this.status = status;
        this.avatar = avatar;
        this.workDescribe = workDescribe;
        this.password = password;
    }

    public String toString() {
        return "UserSaveDTO(super=" + super.toString() + ", id=" + this.getId() + ", account=" + this.getAccount() + ", name=" + this.getName() + ", orgId=" + this.getOrgId() + ", stationId=" + this.getStationId() + ", email=" + this.getEmail() + ", mobile=" + this.getMobile() + ", sex=" + this.getSex() + ", status=" + this.getStatus() + ", avatar=" + this.getAvatar() + ", workDescribe=" + this.getWorkDescribe() + ", password=" + this.getPassword() + ")";
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof UserSaveDTO)) {
            return false;
        } else {
            UserSaveDTO other = (UserSaveDTO)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label155: {
                    Object this$id = this.getId();
                    Object other$id = other.getId();
                    if (this$id == null) {
                        if (other$id == null) {
                            break label155;
                        }
                    } else if (this$id.equals(other$id)) {
                        break label155;
                    }

                    return false;
                }

                Object this$account = this.getAccount();
                Object other$account = other.getAccount();
                if (this$account == null) {
                    if (other$account != null) {
                        return false;
                    }
                } else if (!this$account.equals(other$account)) {
                    return false;
                }

                Object this$name = this.getName();
                Object other$name = other.getName();
                if (this$name == null) {
                    if (other$name != null) {
                        return false;
                    }
                } else if (!this$name.equals(other$name)) {
                    return false;
                }

                label134: {
                    Object this$orgId = this.getOrgId();
                    Object other$orgId = other.getOrgId();
                    if (this$orgId == null) {
                        if (other$orgId == null) {
                            break label134;
                        }
                    } else if (this$orgId.equals(other$orgId)) {
                        break label134;
                    }

                    return false;
                }

                label127: {
                    Object this$stationId = this.getStationId();
                    Object other$stationId = other.getStationId();
                    if (this$stationId == null) {
                        if (other$stationId == null) {
                            break label127;
                        }
                    } else if (this$stationId.equals(other$stationId)) {
                        break label127;
                    }

                    return false;
                }

                label120: {
                    Object this$email = this.getEmail();
                    Object other$email = other.getEmail();
                    if (this$email == null) {
                        if (other$email == null) {
                            break label120;
                        }
                    } else if (this$email.equals(other$email)) {
                        break label120;
                    }

                    return false;
                }

                Object this$mobile = this.getMobile();
                Object other$mobile = other.getMobile();
                if (this$mobile == null) {
                    if (other$mobile != null) {
                        return false;
                    }
                } else if (!this$mobile.equals(other$mobile)) {
                    return false;
                }

                label106: {
                    Object this$sex = this.getSex();
                    Object other$sex = other.getSex();
                    if (this$sex == null) {
                        if (other$sex == null) {
                            break label106;
                        }
                    } else if (this$sex.equals(other$sex)) {
                        break label106;
                    }

                    return false;
                }

                Object this$status = this.getStatus();
                Object other$status = other.getStatus();
                if (this$status == null) {
                    if (other$status != null) {
                        return false;
                    }
                } else if (!this$status.equals(other$status)) {
                    return false;
                }

                label92: {
                    Object this$avatar = this.getAvatar();
                    Object other$avatar = other.getAvatar();
                    if (this$avatar == null) {
                        if (other$avatar == null) {
                            break label92;
                        }
                    } else if (this$avatar.equals(other$avatar)) {
                        break label92;
                    }

                    return false;
                }

                Object this$workDescribe = this.getWorkDescribe();
                Object other$workDescribe = other.getWorkDescribe();
                if (this$workDescribe == null) {
                    if (other$workDescribe != null) {
                        return false;
                    }
                } else if (!this$workDescribe.equals(other$workDescribe)) {
                    return false;
                }

                Object this$password = this.getPassword();
                Object other$password = other.getPassword();
                if (this$password == null) {
                    if (other$password != null) {
                        return false;
                    }
                } else if (!this$password.equals(other$password)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof UserSaveDTO;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = 1;
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $account = this.getAccount();
        result = result * 59 + ($account == null ? 43 : $account.hashCode());
        Object $name = this.getName();
        result = result * 59 + ($name == null ? 43 : $name.hashCode());
        Object $orgId = this.getOrgId();
        result = result * 59 + ($orgId == null ? 43 : $orgId.hashCode());
        Object $stationId = this.getStationId();
        result = result * 59 + ($stationId == null ? 43 : $stationId.hashCode());
        Object $email = this.getEmail();
        result = result * 59 + ($email == null ? 43 : $email.hashCode());
        Object $mobile = this.getMobile();
        result = result * 59 + ($mobile == null ? 43 : $mobile.hashCode());
        Object $sex = this.getSex();
        result = result * 59 + ($sex == null ? 43 : $sex.hashCode());
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $avatar = this.getAvatar();
        result = result * 59 + ($avatar == null ? 43 : $avatar.hashCode());
        Object $workDescribe = this.getWorkDescribe();
        result = result * 59 + ($workDescribe == null ? 43 : $workDescribe.hashCode());
        Object $password = this.getPassword();
        result = result * 59 + ($password == null ? 43 : $password.hashCode());
        return result;
    }

    public static class UserSaveDTOBuilder {
        private Long id;
        private String account;
        private String name;
        private Long orgId;
        private Long stationId;
        private String email;
        private String mobile;
        private Sex sex;
        private Boolean status;
        private String avatar;
        private String workDescribe;
        private String password;

        UserSaveDTOBuilder() {
        }

        public UserSaveDTO.UserSaveDTOBuilder id(final Long id) {
            this.id = id;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder account(final String account) {
            this.account = account;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder name(final String name) {
            this.name = name;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder orgId(final Long orgId) {
            this.orgId = orgId;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder stationId(final Long stationId) {
            this.stationId = stationId;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder email(final String email) {
            this.email = email;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder mobile(final String mobile) {
            this.mobile = mobile;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder sex(final Sex sex) {
            this.sex = sex;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder status(final Boolean status) {
            this.status = status;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder avatar(final String avatar) {
            this.avatar = avatar;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder workDescribe(final String workDescribe) {
            this.workDescribe = workDescribe;
            return this;
        }

        public UserSaveDTO.UserSaveDTOBuilder password(final String password) {
            this.password = password;
            return this;
        }

        public UserSaveDTO build() {
            return new UserSaveDTO(this.id, this.account, this.name, this.orgId, this.stationId, this.email, this.mobile, this.sex, this.status, this.avatar, this.workDescribe, this.password);
        }

        public String toString() {
            return "UserSaveDTO.UserSaveDTOBuilder(id=" + this.id + ", account=" + this.account + ", name=" + this.name + ", orgId=" + this.orgId + ", stationId=" + this.stationId + ", email=" + this.email + ", mobile=" + this.mobile + ", sex=" + this.sex + ", status=" + this.status + ", avatar=" + this.avatar + ", workDescribe=" + this.workDescribe + ", password=" + this.password + ")";
        }
    }
}
